﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
using AnesSystem.Models;
using AnesSystem.ViewModels;
using Common;

namespace AnesSystem.Controls
{
    public abstract class BaseIcon : UserControl
    {

        #region Variables
        
        private Brush _defaultColor= Brushes.Black;

        #endregion

        #region Constructor

        public BaseIcon()
        {
            Height = 10;
            Width = 10;
            Background = Brushes.Transparent;
            HorizontalAlignment = HorizontalAlignment.Center;
            VerticalAlignment = VerticalAlignment.Center;
            StrokeThickness = 1;
        }
       

        #endregion

        #region Properties

        public int StrokeThickness { get; set; }

        public int CurPage { get; set; }

       
        public Brush DefaultColor
        {
            get
            {
                return _defaultColor;
            }

            set
            {
                _defaultColor = value;
            }
        }

        #endregion

        #region 依赖属性

        public int Index
        {
            get { return (int)GetValue(IndexProperty); }
            set { SetValue(IndexProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Index.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty IndexProperty =
            DependencyProperty.Register("Index", typeof(int), typeof(BaseIcon), new PropertyMetadata(0));



        #endregion

        #region Event

        #endregion

        #region Private Methods

        #endregion

        #region Public/Protected Methods

        public abstract void ResizeIcon();

        public abstract void SetPoint(double left, double top);

        #endregion

        #region EventHandlers

        private void BaseIcon_Loaded(object sender, RoutedEventArgs e)
        {
            
        }

        #endregion
    }
}
